<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: SystemSharp.Analysis.Msil.VariabilityInfo Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">SystemSharp.Analysis.Msil.VariabilityInfo Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>This data structure captures the variability of an element together with its reaching definitions  
 <a href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a511ec8f2135946ff6016b2a9ac487c7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a511ec8f2135946ff6016b2a9ac487c7d">VariabilityInfo</a> (<a class="el" href="namespace_system_sharp_1_1_analysis_1_1_msil.html#a414dbb6e07d44baf0e522f23507f6b04">EVariability</a> variability, IEnumerable&lt; int &gt; definitions)</td></tr>
<tr class="memdesc:a511ec8f2135946ff6016b2a9ac487c7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a new instance given a variability and reaching definitions  <a href="#a511ec8f2135946ff6016b2a9ac487c7d">More...</a><br/></td></tr>
<tr class="separator:a511ec8f2135946ff6016b2a9ac487c7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65558311f7e77749a2d79b94daebba21"><td class="memItemLeft" align="right" valign="top">override bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a65558311f7e77749a2d79b94daebba21">Equals</a> (object obj)</td></tr>
<tr class="memdesc:a65558311f7e77749a2d79b94daebba21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Two instances are defined to be equal iff they have the same variability and the same set of reaching definitions.  <a href="#a65558311f7e77749a2d79b94daebba21">More...</a><br/></td></tr>
<tr class="separator:a65558311f7e77749a2d79b94daebba21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6716f2e3107d14ea7e08d51cb8f563fa"><td class="memItemLeft" align="right" valign="top">override int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a6716f2e3107d14ea7e08d51cb8f563fa">GetHashCode</a> ()</td></tr>
<tr class="separator:a6716f2e3107d14ea7e08d51cb8f563fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a61b5f1b386f96938cdf703f0e8462e4d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a61b5f1b386f96938cdf703f0e8462e4d">MergeByNewDef</a> (<a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> a, <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> b, int def)</td></tr>
<tr class="memdesc:a61b5f1b386f96938cdf703f0e8462e4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Merges two instances under assumption of a single reaching definition  <a href="#a61b5f1b386f96938cdf703f0e8462e4d">More...</a><br/></td></tr>
<tr class="separator:a61b5f1b386f96938cdf703f0e8462e4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49200b49a36b7a7d533309308d8b3e2b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a49200b49a36b7a7d533309308d8b3e2b">CreateBySingleDef</a> (<a class="el" href="namespace_system_sharp_1_1_analysis_1_1_msil.html#a414dbb6e07d44baf0e522f23507f6b04">EVariability</a> var, int def)</td></tr>
<tr class="memdesc:a49200b49a36b7a7d533309308d8b3e2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an instance based on a variability and a single reaching definition  <a href="#a49200b49a36b7a7d533309308d8b3e2b">More...</a><br/></td></tr>
<tr class="separator:a49200b49a36b7a7d533309308d8b3e2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a433b9bf586f69659fd4a2ff874354363"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a433b9bf586f69659fd4a2ff874354363">MergeDefs</a> (<a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> a, <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> b)</td></tr>
<tr class="memdesc:a433b9bf586f69659fd4a2ff874354363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Merges two instances based on the stronger of both variabilities and the set union of their reaching definitions  <a href="#a433b9bf586f69659fd4a2ff874354363">More...</a><br/></td></tr>
<tr class="separator:a433b9bf586f69659fd4a2ff874354363"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a7037a6ca7e3aabd391e14e5bbd172e9d"><td class="memItemLeft" align="right" valign="top">static readonly <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a7037a6ca7e3aabd391e14e5bbd172e9d">DefaultLocalInit</a></td></tr>
<tr class="memdesc:a7037a6ca7e3aabd391e14e5bbd172e9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Local variables are initially assumed to be of constant variability without any reaching definition, since this represent their initial specification.  <a href="#a7037a6ca7e3aabd391e14e5bbd172e9d">More...</a><br/></td></tr>
<tr class="separator:a7037a6ca7e3aabd391e14e5bbd172e9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91d7840429bba11437a6887dcb52c989"><td class="memItemLeft" align="right" valign="top">static readonly <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a91d7840429bba11437a6887dcb52c989">DefaultArgumentInit</a></td></tr>
<tr class="memdesc:a91d7840429bba11437a6887dcb52c989"><td class="mdescLeft">&#160;</td><td class="mdescRight">Method arguments are always classified as ExternVariable  <a href="#a91d7840429bba11437a6887dcb52c989">More...</a><br/></td></tr>
<tr class="separator:a91d7840429bba11437a6887dcb52c989"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:acca86b0dbe04b4b42569d51fd7dc234a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespace_system_sharp_1_1_analysis_1_1_msil.html#a414dbb6e07d44baf0e522f23507f6b04">EVariability</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#acca86b0dbe04b4b42569d51fd7dc234a">Variability</a><code> [get, set]</code></td></tr>
<tr class="memdesc:acca86b0dbe04b4b42569d51fd7dc234a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The variability classification  <a href="#acca86b0dbe04b4b42569d51fd7dc234a">More...</a><br/></td></tr>
<tr class="separator:acca86b0dbe04b4b42569d51fd7dc234a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5394dba3cffd977ef9bc4366dba16cb1"><td class="memItemLeft" align="right" valign="top">IEnumerable&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a5394dba3cffd977ef9bc4366dba16cb1">Definitions</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a5394dba3cffd977ef9bc4366dba16cb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reaching definitions in terms of 0-based instruction indices  <a href="#a5394dba3cffd977ef9bc4366dba16cb1">More...</a><br/></td></tr>
<tr class="separator:a5394dba3cffd977ef9bc4366dba16cb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This data structure captures the variability of an element together with its reaching definitions </p>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00099">99</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a511ec8f2135946ff6016b2a9ac487c7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SystemSharp.Analysis.Msil.VariabilityInfo.VariabilityInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_system_sharp_1_1_analysis_1_1_msil.html#a414dbb6e07d44baf0e522f23507f6b04">EVariability</a>&#160;</td>
          <td class="paramname"><em>variability</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">IEnumerable&lt; int &gt;&#160;</td>
          <td class="paramname"><em>definitions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructs a new instance given a variability and reaching definitions </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">variability</td><td>Variability classification</td></tr>
    <tr><td class="paramname">definitions</td><td>Reaching definitions</td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00116">116</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a49200b49a36b7a7d533309308d8b3e2b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> SystemSharp.Analysis.Msil.VariabilityInfo.CreateBySingleDef </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_system_sharp_1_1_analysis_1_1_msil.html#a414dbb6e07d44baf0e522f23507f6b04">EVariability</a>&#160;</td>
          <td class="paramname"><em>var</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>def</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructs an instance based on a variability and a single reaching definition </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">var</td><td>variability classification</td></tr>
    <tr><td class="paramname">def</td><td>one and only reaching definition</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an instance representing the supplied arguments</dd></dl>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00162">162</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a65558311f7e77749a2d79b94daebba21"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">override bool SystemSharp.Analysis.Msil.VariabilityInfo.Equals </td>
          <td>(</td>
          <td class="paramtype">object&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Two instances are defined to be equal iff they have the same variability and the same set of reaching definitions. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>some object, possibly an instance of <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html" title="This data structure captures the variability of an element together with its reaching definitions ...">VariabilityInfo</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>whether both instances meet the equality criterion</dd></dl>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00127">127</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a6716f2e3107d14ea7e08d51cb8f563fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">override int SystemSharp.Analysis.Msil.VariabilityInfo.GetHashCode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00136">136</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a61b5f1b386f96938cdf703f0e8462e4d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> SystemSharp.Analysis.Msil.VariabilityInfo.MergeByNewDef </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>def</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Merges two instances under assumption of a single reaching definition </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>first instance</td></tr>
    <tr><td class="paramname">b</td><td>second instance</td></tr>
    <tr><td class="paramname">def</td><td>the one and only reaching definition</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>merged instance, based on the stronger of both variabilities</dd></dl>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00149">149</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a433b9bf586f69659fd4a2ff874354363"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> SystemSharp.Analysis.Msil.VariabilityInfo.MergeDefs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a>&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Merges two instances based on the stronger of both variabilities and the set union of their reaching definitions </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">a</td><td>first instance</td></tr>
    <tr><td class="paramname">b</td><td>second instance</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>instance representing the merged information of both instances</dd></dl>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00173">173</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a91d7840429bba11437a6887dcb52c989"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">readonly <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> SystemSharp.Analysis.Msil.VariabilityInfo.DefaultArgumentInit</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line">            <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a511ec8f2135946ff6016b2a9ac487c7d">VariabilityInfo</a>(<a class="code" href="namespace_system_sharp_1_1_analysis_1_1_msil.html#a414dbb6e07d44baf0e522f23507f6b04">EVariability</a>.ExternVariable, <span class="keyword">new</span> <span class="keywordtype">int</span>[] { 0 })</div>
</div><!-- fragment -->
<p>Method arguments are always classified as ExternVariable </p>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00192">192</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="a7037a6ca7e3aabd391e14e5bbd172e9d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">readonly <a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a> SystemSharp.Analysis.Msil.VariabilityInfo.DefaultLocalInit</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= </div>
<div class="line">            <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html#a511ec8f2135946ff6016b2a9ac487c7d">VariabilityInfo</a>(<a class="code" href="namespace_system_sharp_1_1_analysis_1_1_msil.html#a414dbb6e07d44baf0e522f23507f6b04">EVariability</a>.Constant, <span class="keyword">new</span> <span class="keywordtype">int</span>[] { 0 })</div>
</div><!-- fragment -->
<p>Local variables are initially assumed to be of constant variability without any reaching definition, since this represent their initial specification. </p>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00186">186</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a5394dba3cffd977ef9bc4366dba16cb1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">IEnumerable&lt;int&gt; SystemSharp.Analysis.Msil.VariabilityInfo.Definitions</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reaching definitions in terms of 0-based instruction indices </p>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00109">109</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<a class="anchor" id="acca86b0dbe04b4b42569d51fd7dc234a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespace_system_sharp_1_1_analysis_1_1_msil.html#a414dbb6e07d44baf0e522f23507f6b04">EVariability</a> SystemSharp.Analysis.Msil.VariabilityInfo.Variability</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The variability classification </p>

<p>Definition at line <a class="el" href="_variability_analysis_8cs_source.html#l00104">104</a> of file <a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_variability_analysis_8cs_source.html">VariabilityAnalysis.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_system_sharp.html">SystemSharp</a></li><li class="navelem"><a class="el" href="namespace_system_sharp_1_1_analysis.html">Analysis</a></li><li class="navelem"><a class="el" href="namespace_system_sharp_1_1_analysis_1_1_msil.html">Msil</a></li><li class="navelem"><a class="el" href="class_system_sharp_1_1_analysis_1_1_msil_1_1_variability_info.html">VariabilityInfo</a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:21:55 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
